home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / general / raytrace / pxm_ray / pxm_ray.lha / pxm-ray / pixel_bg.c < prev    next >
Encoding:
C/C++ Source or Header  |  1992-12-09  |  675 b   |  44 lines

  1.  
  2. /*
  3.  * the background color.
  4.  * can be changed to have any kind of background texturing.  (hint hint)
  5.  */
  6.  
  7. /* 
  8.  *    (c) 1988 by George Kyriazis
  9.  */
  10.  
  11. #include "ray.h"
  12.  
  13. struct    color    bgcolor(r)
  14. struct    ray    r;
  15. {
  16.     register    struct    color    c;
  17.  
  18.     switch( bgflag ) {
  19.         case NONE:
  20.             c.r = c.g = c.b = 0.2;
  21.             break;
  22.         case X:
  23.             if(r.dir.x > 0.0)
  24.                 c.r = c.g = c.b = 0.2;
  25.             else
  26.                 c.r = c.g = c.b = 0.2 - 0.8 * r.dir.x;
  27.             break;
  28.         case Y:
  29.             if(r.dir.y > 0.0)
  30.                 c.r = c.g = c.b = 0.2;
  31.             else
  32.                 c.r = c.g = c.b = 0.2 - 0.8 * r.dir.y;
  33.             break;
  34.         case Z:
  35.             if(r.dir.z > 0.0)
  36.                 c.r = c.g = c.b = 0.2;
  37.             else
  38.                 c.r = c.g = c.b = 0.2 - 0.8 * r.dir.z;
  39.             break;
  40.     }
  41.  
  42.     return c;
  43. }
  44.